查看原文
其他

推荐3个有用的开源项目

鸿洋 鸿洋 2019-04-05

又到了日常推荐的时候了,本来准备每周搞一个推荐,但是这个推荐具有太多的不确定性,有的是我恰好发现,有的是我想做这么个东西,搜索后发现已经存在的项目。


我个人特别倾向于资源聚合的项目,其实 wanandroid 也是这样风格的一个网站,目前能做的就是不会为了推荐而推荐,尽可能保证每次的推荐都对大多数人有一定的帮助。


1提升布局加载速度:X2C


这是掌阅ireader 对外开源的一个库,可以自动化的提升加载布局的效率。


原理我简单说一下大家肯定都懂,我们在编写布局文件的时候,绝大多数情况下都是写xml 文件,然后通过setContentView或者 inflate 加载,大多数同学可能也知道,对于 xml 文件在 LayoutInflater 中需要解析,并且在首次加载的部分控件还需要通过反射去生成对象。


所以如果说,我们放弃使用xml,通过动态编码的方式去生成布局的方式,那么一定会有一定的性能提升。


但是,这几乎是不可能的,因为不易维护,不支持实时预览,编写起来过于复杂,看起来痛不欲生。


所以出现了 X2C 这个项目:


为了即保留xml的优点,又解决它带来的性能问题,我们开发了X2C方案。


即在编译生成APK期间,将需要翻译的layout翻译生成对应的java文件,这样对于开发人员来说写布局还是写原来的xml,但对于程序来说,运行时加载的是对应的java文件。


 我们采用APT(Annotation Processor Tool)+ JavaPoet技术来完成编译期间【注解】->【解注解】->【翻译xml】->【生成java】整个流程的操作。


https://github.com/iReaderAndroid/X2C


2adb 用法大全


这个发现的就有点意思了,因为我最近在给 wanandroid 加一个栏目,叫“速查”,其实归档一下开发中,经常需要查询的东西:



因为只有我一个人去补充内容,比如我经常查询如何通过adb 查看 top activity,我就准备补充这样的一个文档,在搜索过程中发现了这个库。


https://github.com/mzlogin/awesome-adb


详细程度实属惊人,部分目录如下:



此外,其实总是查文档也不是什么好办法,更好的方式可以去开发一个adb 的提示插件,当敲出adb 就可以出现所有的关联命令。


确实有一个这样的开源插件:


https://github.com/pbreault/adb-idea



不过支持的命令很少,如果有哪位可以结合这两个开源库,做一个较为完备的提示插件,我双手赞成,记得完成联系我一下,有礼物相赠!


3Java 资源聚合库


编写此文前看了一下github trending,榜上有名。



https://github.com/Snailclimb/Java-Guide


内容好像没有上次推荐的丰富,几个放一起吧:


https://github.com/crossoverJie/Java-Interview

https://github.com/JsonChao/Awesome-Android-Interview


大家没事也可以看看 github trending。



推荐阅读

挺重要的网络基础

今日头条适配方案

推荐4个不错的开源项目


扫一扫 关注我的公众号

如果你想要跟大家分享你的文章,欢迎投稿~


┏(^0^)┛明天见!

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存